﻿
Imports osi.root.formation
Imports osi.root.connector

Partial Public Class syntaxer
    Partial Public Class rule
        Public Function export() As exporter
            Return New exporter(Me)
        End Function

        Partial Public Class exporter
            Public ReadOnly syntaxer As syntaxer
            Public ReadOnly ignore_types As [set](Of UInt32)
            Public ReadOnly root_types As vector(Of UInt32)
            Public ReadOnly collection As syntax_collection

            Public Sub New(ByVal i As rule)
                assert(Not i Is Nothing)
                Me.ignore_types = i.ignores
                Me.root_types = i.roots
                Me.collection = i.collection
                Me.syntaxer = New syntaxer(collection, root_types)
            End Sub
        End Class
    End Class
End Class
